//
//  CyTextFieldValid.h
//  QooccNews
//
//  Created by yangxi on 14-3-14.
//  Copyright (c) 2014年 王顺强. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AddtionsFramework/UITextField+FormValid.h>

typedef enum  {
    kValidTypeEmpty,        // 是否为空
    kValidTypePhone,        // 手机号是否正确
    kValidTypeEmail,        // email是否正确
    kValidTypeEqual,        // 判断是否已制定的值相等
    kValidTypeLength,       // 判断文本的长度
    kValidTypeRegular,      // 使用正则表达式 验证
}kValidType;

@interface CyTextFieldValid : NSObject

@property (nonatomic, strong) UITextField *tfd;
@property (nonatomic, assign) NSInteger type;
@property (nonatomic, strong) NSString *tip;

@property (nonatomic, assign) NSInteger minLength;
@property (nonatomic, assign) NSInteger maxLength;

@property (nonatomic, strong) NSString *equalValue;

/** 表单验证
 
 @param tfd 表单
 @param type 验证类型
 @param tip 提示字符
 */
+ (CyTextFieldValid *)tfdValid:(UITextField *)tfd type:(kValidType)type tip:(NSString *)tip;

/** 表单验证 是否与指定的值相等
 
 @param tfd 表单
 @param tip 提示字符
 @param value 制定的值
 */
+ (CyTextFieldValid *)tfdValid:(UITextField *)tfd tip:(NSString *)tip equalValue:(NSString*)value;

/** 表单验证 是否与指定的值相等
 
 @param tfd 表单
 @param tip 提示字符
 @param value 正则表达式的值
 */
+ (CyTextFieldValid *)tfdValid:(UITextField *)tfd tip:(NSString *)tip regularValue:(NSString*)value;

/** 表单验证 是否在制定的长度范围
 
 @param tfd 表单
 @param tip 提示字符
 @param minLength 最小长度
 @param minLength 最大长度
 */
+ (CyTextFieldValid *)tfdValid:(UITextField *)tfd tip:(NSString *)tip min:(NSInteger)minLength max:(NSInteger)maxLength;

/** 是否验证正确
 */
- (BOOL)isValidTrue;

@end
